Collaboration or collaborative sessions, including multimedia collaboration, are being utilized in an increasing number of applications to facilitate exchange of data and information. In an exemplary collaboration scenario, a group of entities communicates over the Internet and exchanges information and media to achieve a specific goal. While initial applications of collaboration sessions included text-based “Chat” and control-based “Network Games,” more recent applications provide exchange of bandwidth intensive media in collaborative sessions. The main goal of collaboration sessions includes the exchange of data (including different types of data) between the participants of a session.
Different collaborative applications have different requirements for data flow between participants. For example, a group discussion application may enable every participant to know what another participant is communicating. In contrast, a distance learning application would enable teacher(s) to talk to all or any students, but students should be allowed to talk only to teacher(s) to ask questions. Other arrangements or applications having other rules for data flow are possible.
Real-time multimedia collaboration, defined broadly as real-time multipoint communication and media exchange in dynamically created online groups, has received considerable interest in recent years. While chat, network games, and shared whiteboards have existed for some time, the more recent focus has been upon bandwidth intensive media, such as audio, video, and 3D media in various forms.
Multimedia collaboration may be implemented using the public Internet. The Internet has evolved as a heterogeneous environment with large variances in client connection bandwidths (e.g., first and second generation wireless to high speed optical connections), client processing power (e.g., personal digital assistants (PDAs) to high-end multi-processor machines), and client display capabilities (e.g., PDAs to visualization workstations). These variances between users should remain for some time despite foreseeable improvements in bandwidth, processing power and display capabilities.
In some heterogeneous environments, quality or richness of collaboration may be limited to the lowest common denominator (e.g., presence of a 56 k modem or PDA in the collaboration) where a server is used as the connectivity architecture to route data in collaborative sessions. This model may be considered advantageous inasmuch as there are no dynamic IP or leaf-end bottleneck issues. However, the presence of a relatively slow data connection (e.g., 56 k) or device with a display form factor of a PDA or similar device may limit the quality of the collaboration. For example, pushing data beyond the bandwidth or display limits by higher end machines in the session may potentially block wireless or 56 k connections rendering received data unviewable on PDAs or similar devices.
Some collaboration implementations maintain multiple versions of the same media, and serve one of the versions to each client based on communications capabilities of the client. In these arrangements, the number of versions to be stored may rapidly increase if all types of scalability are to be supported in a real-time collaboration scenario. The number of versions may make creation, handling and delivery impractical. For example, the sender would send multiple different versions for different clients to the management unit. Also, further complications may arise from clients dynamically joining and leaving sessions dynamically using different versions of the data.
At least some aspects of the disclosure provide improved apparatus and methods for implementing communications of media data, including communications involving collaborative sessions.